package IO_study.bytesStream;

import java.io.FileInputStream;
import java.io.InputStream;

/**
 * -- 构造器：
 *      public FileInputStream(File file) : 创建字节输入流管道与源文件进行接通
 *      public FileInputStream(String pathname):创建字节输入流管道与源文件进行接通
 * -- 方法:
 *      public int read():每次读取一个字节返回,读取完毕返回-1
 *    小结:
 *      一个一个字节读取中文数据输出其实是被淘汰的,性能极差!
 *      一个一个字节读取中文数据输出,会出现截断中文字节的情况,无法避免读取中文输出乱码问题.
 */
public class FIleInputStreamDemo1 {
    public static void main(String[] args) throws Exception {
        // 1.创建一个文件字节输入流管道与源文件接通
        // 简化写法
        InputStream is = new FileInputStream("Java-basic/src/IO_study/data.txt");

        // 2.读取一个字节返回 读取完毕 返回-1 每次读取一个字节
        //int b1 = is.read();
        //System.out.println((char)b1);

        // 3.使用循环改进
        //定义一个变量记录每次读取的字节
        int b;
        while((b = is.read()) != -1){
            System.out.println((char)b); // 性能差 且会出现中文乱码问题
        }

    }
}
